home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 2, No. 01 (1982-09)(Softdisk)(Side B).zip / Softdisk Magazette Volume 2, No. 01 (1982-09)(Softdisk)(Side B).do / FRACTION.PRACTICE.bas < prev    next >
BASIC Source File  |  1996-12-24  |  9KB  |  212 lines

  1. 10  GOTO 1000
  2. 19  REM RANDOM NUMBERS
  3. 20 N1 =  INT( RND(1) *10) +1:N2 =  INT( RND(1) *10) +1
  4. 25 D1 =  INT( RND(1) *10) +1:D2 =  INT( RND(1) *10) +1
  5. 30  PRINT : PRINT "TYPE IN THE ANSWER AS A SINGLE FRACTION IN LOWEST TERMS.": PRINT : PRINT "USE '/' AS THE LINE BETWEEN THE         NUMERATOR AND DENOMINATOR. THEN PRESS   'RETURN'": PRINT 
  6. 35  RETURN 
  7. 49  REM REDUCING LOOP
  8. 50  FOR J = 2 TO X
  9. 60  IF C1/J < > INT(C1/J)  THEN 100
  10. 70  IF C2/J < > INT(C2/J)  THEN 100
  11. 80 C1 = C1/J:C2 = C2/J
  12. 90  GOTO 60
  13. 100  NEXT J
  14. 110 B$ =  STR$(C1) +"/" + STR$(C2)
  15. 120  RETURN 
  16. 199  REM   ANSWER WRONG
  17. 200 Y =  INT( RND(1) *5) +1: ON Y GOTO 210,220,230,240,250
  18. 210  PRINT "SORRY! INCORRECT": GOTO 260
  19. 220  PRINT "OOPS!! YOU MUST HAVE TYPED THE ANSWER IN WRONG": GOTO 260
  20. 230  PRINT "<CTRL-G><CTRL-G>ERROR!": GOTO 260
  21. 240  PRINT "NOPE!": GOTO 260
  22. 250  PRINT "WRONG, ";N$
  23. 260  PRINT : PRINT "THE CORRECT ANSWER WAS ";B$: RETURN 
  24. 299  REM  ANSWER RIGHT
  25. 300 Y =  INT( RND(1) *5) +1: ON Y GOTO 310,320,330,340,350
  26. 310  PRINT "CORRECT!!!": GOTO 360
  27. 320  PRINT "<CTRL-G><CTRL-G>VERY GOOD<CTRL-G><CTRL-G>!": GOTO 360
  28. 330  PRINT N$;",": PRINT "YOU MUST HAVE BEEN STUDYING THIS STUFF.": GOTO 360
  29. 340  PRINT "YAY!!": GOTO 360
  30. 350  PRINT "GOOD JOB<CTRL-G><CTRL-G>!"
  31. 360  RETURN 
  32. 399  REM NUMBER OF PROBLEMS
  33. 400  PRINT N$;",": INPUT "HOW MANY PROBLEMS DO YOU WISH TO DO? ";K$:K =  VAL(K$): IF K <1  THEN 400
  34. 410 TK = TK +K
  35. 420  RETURN 
  36. 500  PRINT : PRINT "PRESS ANY KEY TO CONTINUE. ";: GET Z$: PRINT : RETURN 
  37. 1000  HOME : FLASH : PRINT "GENERAL MATH PROGRAM: FRACTIONS"
  38. 1010  NORMAL : PRINT : PRINT "WRITTEN BY:": PRINT 
  39. 1020 A$(1) = "CAROL SMITH":A$(2) = "JOE URADNIK":A$(3) = "TONY PACHE"
  40. 1030  FOR I = 1 TO 3
  41. 1040 A(I) =  INT( RND(1) *3) +1
  42. 1050 X = A(I): IF B(X) = 1  THEN 1040
  43. 1060 B(X) = 1: PRINT A$(X): NEXT I
  44. 1070  PRINT : PRINT "COMPUTER MATH 2"
  45. 1080  PRINT : PRINT "4 JUNE 1982"
  46. 1090  FOR I = 1 TO 2500: NEXT I
  47. 1100  HOME 
  48. 1110  PRINT "FRACTIONS"
  49. 1120  PRINT : INPUT "HI! WHAT IS YOUR NAME? TYPE IT IN THEN  PRESS 'RETURN' ";N$
  50. 1130  HOME 
  51. 1140  PRINT "HI, ";N$
  52. 1150  PRINT 
  53. 1160  PRINT "WOULD YOU LIKE TO:"
  54. 1170  PRINT "1. ADD FRACTIONS"
  55. 1180  PRINT "2. SUBTRACT FRACTIONS"
  56. 1190  PRINT "3. MULTIPLY FRACTIONS"
  57. 1200  PRINT "4. DIVIDE FRACTIONS"
  58. 1210  PRINT "5. QUIT"
  59. 1220  PRINT : INPUT "TYPE IN THE NUMBER OF THE OPERATION THATYOU WANT TO DO (1-5) THEN PRESS 'RETURN' ";X$:N =  VAL(X$)
  60. 1230  IF N <1  OR N >5  THEN  HOME : GOTO 1160
  61. 1240  IF N = 5  THEN 2240
  62. 1250  IF N = 3  THEN 1730
  63. 1260  IF N = 4  THEN 1980
  64. 1270  REM ADDING AND SUBTRACTING LOOP
  65. 1280  HOME : GOSUB 400
  66. 1290  FOR I = 1 TO K
  67. 1300  GOSUB 20
  68. 1302  IF N = 2  THEN  PRINT N1"/"D1" - "N2"/"D2" = ";: INPUT " ";A$: PRINT : GOTO 1308
  69. 1306  PRINT N1"/"D1" + "N2"/"D2" = ";: INPUT " ";A$: PRINT 
  70. 1308 N1 = N1 *D2:C2 = D1 *D2:N2 = D1 *N2
  71. 1310  IF N = 2  THEN C1 = N1 -N2: GOTO 1330
  72. 1320 C1 = N1 +N2
  73. 1330  IF C1 <C2  THEN X =  ABS(C1): GOTO 1350
  74. 1340 X =  ABS(C2)
  75. 1350  GOSUB 50
  76. 1410  IF A$ = B$  THEN R = R +1: GOSUB 300: GOSUB 500: GOTO 1610
  77. 1420  GOSUB 200
  78. 1430  INPUT "WOULD YOU LIKE TO SEE A SAMPLE PROBLEM? (YES OR NO) ";Q$
  79. 1440  IF  LEFT$(Q$,1) = "N"  THEN  GOSUB 500: GOTO 1610
  80. 1450  IF  LEFT$(Q$,1) < >"Y"  THEN 1430
  81. 1460  HOME : IF N = 1  THEN 1490
  82. 1470  IF N = 2  THEN 1630
  83. 1480  REM ADDING EXPLANATION
  84. 1490  PRINT "TO ADD FRACTIONS:": PRINT : PRINT "EXAMPLE:  3/4 + 7/8 =": PRINT : PRINT "1.  MULTIPLY THE FIRST NUMERATOR BY THE SECOND DEMOMINATOR."
  85. 1495  PRINT "3 * 8 = 24"
  86. 1500  PRINT : PRINT "2.  MULTIPLY THE SECOND NUMERATOR BY THEFIRST DENOMINATOR."
  87. 1505  PRINT "7 * 4 = 28": PRINT 
  88. 1510  PRINT "3.  ADD THE TWO NUMBERS TOGETHER TO GET THE NEW NUMERATOR."
  89. 1515  PRINT "24 + 28 = 52": PRINT 
  90. 1520  PRINT "4.  MULTIPLY THE DENOMINATORS TOGETHER  TO GET THE NEW DENOMINATOR."
  91. 1525  PRINT "4 * 8 = 32": PRINT 
  92. 1530  PRINT "5.  REDUCE THE FRACTION."
  93. 1535  PRINT "52/32 = 13/8 (THE ANSWER!<CTRL-G>!)"
  94. 1600  GOSUB 500
  95. 1610  HOME : NEXT I: GOTO 1160
  96. 1620  REM SUBTRACT EXPLANATION
  97. 1630  PRINT "TO SUBTRACT FRACTIONS:": PRINT : PRINT "EXAMPLE: 3/4 - 1/8 =": PRINT : PRINT "1.  MULTIPLY THE FIRST NUMERATOR BY THE SECOND DENOMINATOR.": PRINT "3 * 8 = 24": PRINT : PRINT "2.  MULTIPLY THE SECOND NUMERATOR BY THEFIRST DENOMINATOR."
  98. 1635  PRINT "1 * 4 = 4": PRINT 
  99. 1640  PRINT "3.  SUBTRACT THE SECOND ONE FROM THE    FIRST TO GET THE NEW NUMERATOR.": PRINT "24 - 4 = 20": PRINT 
  100. 1650  PRINT "4.  MULTIPLY THE TWO DENOMINATORS       TOGETHER TO GET THE NEW DENOMINATOR.": PRINT "4 * 8 = 32": PRINT 
  101. 1660  PRINT "5.  REDUCE THE FRACTION.": PRINT "20/32 = 5/8 (THE ANSWER!<CTRL-G>!)"
  102. 1700  GOSUB 500
  103. 1710  HOME : NEXT I: GOTO 1160
  104. 1720  REM MULTIPLY LOOP
  105. 1730  HOME : GOSUB 400
  106. 1740  FOR I = 1 TO K
  107. 1750  GOSUB 20
  108. 1760  PRINT : PRINT N1"/"D1" * "N2"/"D2" = ";: INPUT " ";A$: PRINT 
  109. 1770 C1 = N1 *N2
  110. 1780 C2 = D1 *D2
  111. 1790  IF C1 <C2  THEN X = C1: GOTO 1810
  112. 1800 X = C2
  113. 1810  GOSUB 50
  114. 1820  IF A$ = B$  THEN R = R +1: GOSUB 300: GOSUB 500: GOTO 1960
  115. 1830  GOSUB 200
  116. 1840  INPUT "WOULD YOU LIKE TO SEE A SAMPLE PROBLEM? (YES OR NO) ";Q$
  117. 1850  IF  LEFT$(Q$,1) = "N"  THEN  GOSUB 500: GOTO 1960
  118. 1860  IF  LEFT$(Q$,1) < >"Y"  THEN 1840
  119. 1870  REM MULTIPLY EXPLANATION
  120. 1880  HOME : PRINT "MULTIPLYING FRACTIONS IS EASY!"
  121. 1885  PRINT : PRINT "EXAMPLE:  3/4 * 7/8 ="
  122. 1890  PRINT : PRINT "SIMPLY MULTIPLY THE NUMERATORS OF EACH  FRACTION TOGETHER TO GET THE NUMERATOR  OF THE ANSWER. . ."
  123. 1895  PRINT "3 * 7 = 21": PRINT 
  124. 1900  PRINT ". . .TO GET THE DENOMINATOR OF THE      ANSWER, MULTIPLY THE DENOMINATORS OF THETWO FRACTIONS TOGETHER"
  125. 1905  PRINT "4 * 8 = 32"
  126. 1910  PRINT : PRINT "THEN REDUCE THE FRACTION."
  127. 1950  PRINT : PRINT "21/32 CAN'T BE REDUCED, SO IT'S THE     ANSWER.": GOSUB 500
  128. 1960  HOME : NEXT I: GOTO 1150
  129. 1970  REM DIVISION LOOP
  130. 1980  HOME : GOSUB 400
  131. 1990  FOR I = 1 TO K
  132. 2000  GOSUB 20: REM   RANDOM NUMBER
  133. 2010  PRINT N1"/"D1" / "N2"/"D2" = ";: INPUT " ";A$: PRINT 
  134. 2020 C1 = N1 *D2
  135. 2030 C2 = N2 *D1
  136. 2040  IF C1 <C2  THEN X = C1: GOSUB 50: GOTO 2070
  137. 2050 X = C2
  138. 2060  GOSUB 50
  139. 2070  IF A$ = B$  THEN R = R +1: GOSUB 300: GOSUB 500: GOTO 2230
  140. 2080  GOSUB 200
  141. 2090  INPUT "WOULD YOU LIKE TO SEE A SAMPLE PROBLEM? (YES OR NO)";Q$
  142. 2100  IF  LEFT$(Q$,1) = "N"  THEN  GOSUB 500: GOTO 2230
  143. 2110  IF  LEFT$(Q$,1) < >"Y"  THEN 2090
  144. 2120  REM DIVIDE EXPLANATION
  145. 2130  HOME : INVERSE : PRINT "HOW TO DIVIDE FRACTIONS": NORMAL : PRINT 
  146. 2140  PRINT "DIVIDING FRACTIONS IS ALMOST LIKE       MULTIPLYING THEM."
  147. 2145  PRINT : PRINT "EXAMPLE:  3/4 / 7/8 ="
  148. 2150  PRINT : PRINT "SIMPLY TURN THE SECOND FRACTION UPSIDE  DOWN!": PRINT "(PUT THE DENOMINATOR ON TOP AND THE     NUMERATOR ON THE BOTTOM)": PRINT "3/4 * 8/7"
  149. 2160  PRINT : PRINT "THEN MULTIPLY AND REDUCE."
  150. 2190  PRINT : PRINT "3 * 8 = 24 (NEW NUMERATOR)"
  151. 2200  PRINT "4 * 7 = 28 (NEW DENOMIATOR)"
  152. 2210  PRINT : PRINT "24/28 = 6/7 (THE ANSWER!)"
  153. 2220  GOSUB 500
  154. 2230  HOME : NEXT I: GOTO 1150
  155. 2239  REM QUIT
  156. 2240  HOME : IF TK = 0  THEN 2330
  157. 2245  PRINT "YOU GOT ";R;" OUT OF ";TK;" RIGHT, WHICH IS ";
  158. 2250 PER =  INT((R/TK *100) +.5)
  159. 2260  PRINT PER;"    PERCENT.": PRINT 
  160. 2270  FOR I = 1 TO 1500: NEXT I
  161. 2280  IF PER >94  THEN  PRINT "EXCELLENT<CTRL-G><CTRL-G>!": GOTO 2320
  162. 2290  IF PER >85  THEN  PRINT "VERY GOOD!": GOTO 2320
  163. 2300  IF PER >75  THEN  PRINT "KEEP UP THE GOOD WORK.": GOTO 2320
  164. 2310  PRINT "YOU'D BETTER STUDY THIS A LITTLE MORE   AND TRY AGAIN LATER."
  165. 2320  FOR I = 1 TO 2500: NEXT I
  166. 2330  PRINT : PRINT "THANK YOU VERY MUCH.": PRINT : PRINT "BYE!"
  167. 2340  END 
  168. 10305  REM 
  169. 10310  REM VARIABLE CLARIFICATION:
  170. 10320  REM A$(I) = NAMES OF PROGRAMMERS FOR RANDOM BILLING
  171. 10330  REM I = VARIOUS LOOPS
  172. 10340  REM B(X) = RANDOM BILLING
  173. 10350  REM N$ = NAME OF USER
  174. 10360  REM N AND X$ = OPERATION NUMBERS
  175. 10370  REM K$ AND K = NUMBER OF PROBLEMS
  176. 10380  REM N1 = FIRST NUMERATOR
  177. 10390  REM D1 = FIRST DENOMINATOR
  178. 10400  REM N2 = SECOND NUMERATOR
  179. 10410  REM D2 = SECOND DENOMINATOR
  180. 10420  REM C1 = CORRECT NUMERATOR
  181. 10430  REM C2 = CORRECT DENOMINATOR
  182. 10435  REM X = SMALLER OF C1 AND C2
  183. 10440  REM A$ = INPUT ANSWER
  184. 10450  REM B$ = CORRECT ANSWER
  185. 10460  REM J = REDUCING LOOP FOR COMMON DENOMINATOR
  186. 10470  REM Q$ = ANSWER TO SEEING HOW PROBLEM DONE
  187. 10480  REM Y = RANDOM NUMBER FOR CORRECT/INCORRECT REMARK
  188. 10490  REM TK = TOTAL PROBLEMS WORKED
  189. 10495  REM PER = PERCENT CORRECT
  190. 10498  REM ********************
  191. 10500  REM THIS PROGRAM WAS
  192. 10505  REM 
  193. 10510  REM WRITTEN AS A 
  194. 10515  REM 
  195. 10520  REM COMPUTER MATH 2
  196. 10525  REM 
  197. 10530  REM ASSIGNMENT AT
  198. 10535  REM 
  199. 10540  REM DUNEDIN HIGH SCHOOL
  200. 10545  REM 
  201. 10550  REM DUNEDIN, FLORIDA
  202. 10555  REM 
  203. 10560  REM PLEASE SEND ANY
  204. 10570  REM COMMENTS, QUESTIONS, 
  205. 10580  REM OR IMPROVEMENTS TO:
  206. 10585  REM 
  207. 10590  REM CAROL SMITH
  208. 10600  REM 2052 BRENDLA RD.
  209. 10610  REM CLEARWATER, FL 33515
  210. 10615  REM 
  211. 10620  REM THANK YOU!!
  212. 10630  REM *******************